import VisibleComponent from "discourse/components/visible";

export default VisibleComponent.extend({

  visible: function () {
    var bannerKey = this.get("banner.key"),
        dismissedBannerKey = this.get("user.dismissed_banner_key") ||
                             this.keyValueStore.get("dismissed_banner_key");

    if (bannerKey) { bannerKey = parseInt(bannerKey, 10); }
    if (dismissedBannerKey) { dismissedBannerKey = parseInt(dismissedBannerKey, 10); }

    return !this.get("hide") && bannerKey && dismissedBannerKey !== bannerKey;
  }.property("user.dismissed_banner_key", "banner.key", "hide"),

  actions: {
    dismiss: function () {
      if (this.get("user")) {
        this.get("user").dismissBanner(this.get("banner.key"));
      } else {
        this.set("visible", false);
        this.keyValueStore.set({ key: "dismissed_banner_key", value: this.get("banner.key") });
      }
    }
  }

});
